package model;

/**
 * @ClassName: Singleton
 * @Author: liugui
 * @Date: 2020-04-08 22:25
 **/
public class Singleton {

    private static Singleton instance;

    public Singleton() {
        System.out.println("构造了一个Singleton");
    }
    //单例模式
    //简单高效的实现方式：
    //使用时通过 调用 getInstance 方法获取实例。
    // 缺点：线程不安全
    //在多线程环境中
    // - 由于第一个线程没有实例化完成
    // - 第二个线程再次获取实例时 会出现两个实例。
    //导致线程不安全。
    public static Singleton getInstance() {
        if (instance == null) {
            instance = new Singleton();
        }
        return instance;
    }

    public void doSomething(){
        System.out.println("Something is Done.");
    }

}
